package com.yaopaikeji.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yaopaikeji.constants.Constants;
import com.yaopaikeji.dao.ContactUsDao;
import com.yaopaikeji.model.ContactUsInfo;
import com.yaopaikeji.model.User;
import com.yaopaikeji.service.ContactUsService;
import com.yaopaikeji.util.TimeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public class ContactUsServiceImpl implements ContactUsService {

    @Autowired
    private ContactUsDao contactUsDao;

    @Override
    public boolean saveContractUs(ContactUsInfo contactUsInfo){

        return contactUsDao.saveContactUsInfo(contactUsInfo).getId() > 0;
    }

    @Override
    public List<ContactUsInfo> listContactUsInfoAll(){

        return contactUsDao.findAll();
    }

    @Override
    public List<ContactUsInfo> listContactUsInfoByDateInterval(Date startTime, Date endTime){

        return contactUsDao.findByDateInterval(startTime,endTime);
    }

    @Override
    public boolean updateContactUsStatusToRead(int id,User user){

        ContactUsInfo contactUsInfo = new ContactUsInfo();
        contactUsInfo.setId(id);
        contactUsInfo.setStatus(Constants.READ);
        contactUsInfo.setLastModifiedTime(TimeUtil.now());
        contactUsInfo.setLastModifieder(user);

        return contactUsDao.updateStatus(contactUsInfo);
    }

    @Override
    public ContactUsInfo getContactUsInfoById(int id) {

        return contactUsDao.findByPrimaryKey(id);
    }

    @Override
    public PageInfo<ContactUsInfo> listByPage(int currentPage, int pageSize) {


        return contactUsDao.listByPage(currentPage,pageSize);
    }

}
